<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

include_once("../clases/DBManager.Class.php");

include_once("../clases/entidad/Respuesta_opciones.php");

include_once("../clases/DAO/RespuestaDAO.php");

$db_man = new DBManager();

$respuestaDao = new RespuestaDAO();

$idRespuestaEncuesta = "";


$idEncuesta = $_POST["encuesta"];

//echo $idEncuesta;

validarEncuesta($idEncuesta);

if(encuestaPrivada($idEncuesta)){
    // Encuesta Privada
    $hashVotante = $_POST["user"];

    //$idEncuesta = $encuesta->getId();

    $query = "  SELECT votantes.id, nombre, email, voto FROM votantes
                JOIN votantes_encuestas ON (votantes_encuestas.id_votante=votantes.id)
                WHERE ( votantes_encuestas.hash='$hashVotante' AND votantes_encuestas.id_encuesta='$idEncuesta' ) LIMIT 1";



    //echo "<h1>$query</h1>";

    #$query = mysql_real_escape_string($query);

    $sal = mysql_query($query) or die("Error de SQL: $query");
    $datos = mysql_fetch_array($sal);

    $idVotante = $datos["id"];
    $nombre = $datos["nombre"];
    $email = $datos["email"];
    $voto = $datos["voto"];

    if($voto==0){
        // Puede votar
        $query = "  UPDATE votantes_encuestas SET voto='1'
                    WHERE (id_votante='$idVotante' AND id_encuesta='$idEncuesta') LIMIT 1";

        #$query = mysql_real_escape_string($query);

        $sal = mysql_query($query) or die("Error de SQL: $query");

    }else{
        // No puede votar

        die();
    }

}else{
    // Encuesta Pública
    // Parametros de la cookie
    $cookie = $_COOKIE["voto"];

    $query = "SELECT * FROM respuestas_encuestas WHERE id_encuesta='$idEncuesta' AND sesion = '$cookie' LIMIT 1";
                    #$query = mysql_real_escape_string($query);

    $sal = mysql_query($query) or die("Error de SQL: $query");

    if(mysql_num_rows($sal) != 0){

        ?>

            <fieldset id="Error">
                <legend id="Error">
                        Error
                </legend>
                <br>
                <p align="center">
                    No puede volver a votar en esta encuesta.
                </p>
                <br>
            </fieldset>

        <?php
        die();
    }





    $cookie = md5(time());
    $duracion = time()+600;

    $query = "INSERT INTO respuestas_encuestas (id_encuesta, sesion) VALUES ('$idEncuesta', '$cookie')";
    //$query = mysql_real_escape_string($query);

    $sal = mysql_query($query) or die("Error de SQL: $query");

    $idRespuestaEncuesta = mysql_insert_id();

    setcookie("voto", $cookie, $duracion);

}




// Cantidad de preguntas

$query = "SELECT COUNT(*) as cant_preguntas FROM preguntas WHERE id_encuesta='$idEncuesta'";
#$query = mysql_real_escape_string($query);

$sal = mysql_query($query); $sal = mysql_fetch_array($sal);

$cant_preguntas = $sal["cant_preguntas"];


for ($i=0;$i<$cant_preguntas;$i++){

    if(is_array($_POST[$i])){
        foreach($_POST[$i] as $response){
            //print ">> ".$response;

            $idPregunta = traerIdPregunta($i, $idEncuesta);

            //echo " :Respuesta Multiple para la pregunta $idPregunta <br> ";
            $respuesta = armarRespuesta($idPregunta, $response,"",$idRespuestaEncuesta);
            $respuestaDao->persistirVoto($respuesta);

        }
    }else{
        if($_POST[$i]!=""){
            //echo "> " . $_POST[$i];
            $response = $_POST[$i];
            $idPregunta = traerIdPregunta($i, $idEncuesta);

            //echo " :Respuesta Simple para la pregunta $idPregunta <br>";
            $respuesta = armarRespuesta($idPregunta, $response,"",$idRespuestaEncuesta);
            $respuestaDao->persistirVoto($respuesta);
        }
    }

    $comentario = $i."_comentario"; $a = $_POST[$comentario];

    if($a != ""){
        //echo "<h1>$a</h1>";
        $respuesta = armarRespuesta($idPregunta, "",$a,$idRespuestaEncuesta);
        $respuestaDao->persistirVoto($respuesta);
    }

}

?>
                    <style type="text/css">


                        input{
                            border: 2px solid #28629F;
                        }

                        .submit input{
                            color: #ffffff;
                            background: #28629F;
                            border: 2px outset #28629F;
                        }

                        fieldset{
                            border: 3px solid #28629F;
                        }

                        legend{
                            color: #fff;
                            background: #28629F;
                            padding: 2px 6px
                        }

                        div#main{
                            width:600px;
                            margin:auto;
                            height: 100%;
                        }

                    </style>

                    <div align="left" id="main">
                                                
                        <fieldset>
                            <legend>
                                Voto Enviado
                            </legend>

                            <br>

                            <p align="center">
                                Gracias por su voto...
                            </p>

                            <br>

                        </fieldset>
                        
                    </div>

<?php


function armarRespuesta($idPregunta="", $idOpcion="", $comentario="", $id_respuesta_encuesta=""){
    
    $respuesta = new Respuesta_opciones("",$comentario, $id_respuesta_encuesta, $idPregunta, $idOpcion);

    /*
    echo "******************\n";
    echo "<br>@".$respuesta->getComentario();
    echo "<br>@".$respuesta->getId();
    echo "<br>@".$respuesta->getId_opcion();
    echo "<br>@".$respuesta->getId_pregunta();
    echo "<br>@".$respuesta->getId_respuesta_encuesta();
    echo "<br>******************\n";
    */
    return $respuesta;

}

function validarEncuesta($idEncuesta){
    
    $query = "SELECT * FROM encuestas WHERE id = '$idEncuesta' LIMIT 1";

    $sal = mysql_query($query); $temp = mysql_fetch_array($sal);

    $a = $temp["id"];

    if($a != $idEncuesta){
        die("Encuesta No Válida");
    }
}

function encuestaPrivada($idEncuesta){
    $query = "SELECT tipo FROM encuestas WHERE id = '$idEncuesta' LIMIT 1";

    $sal = mysql_query($query); $temp = mysql_fetch_array($sal);

    $a = $temp["tipo"];

    if($a == "privada")
        return 1;

    return 0;
}

function traerIdPregunta($orden, $idEncuesta){

    $query = "SELECT id FROM preguntas WHERE (orden='$orden' AND id_encuesta='$idEncuesta')";
    $sal = mysql_query($query); $sal = mysql_fetch_array($sal);
    $id = $sal["id"];

    return $id;
}




?>